package org.androidpn.net;

import java.io.ByteArrayOutputStream;

import android.graphics.Bitmap;

public class BitmapUtil {
	public static byte[] bitmap2Bytes(Bitmap bm) {
		if (bm != null) {
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);// 质量压缩方法，这里100表示不压缩，把压缩后的数据存放到baos中
			int options = 100;
			while (baos.toByteArray().length / 1024 > 1024) { // 循环判断如果压缩后图片是否大于100kb,大于继续压缩
				baos.reset();// 重置baos即清空baos
				bm.compress(Bitmap.CompressFormat.JPEG, options, baos);// 这里压缩options%，把压缩后的数据存放到baos中
				options -= 10;// 每次都减少10
			}
			// ByteArrayInputStream isBm = new ByteArrayInputStream(
			// baos.toByteArray());// 把压缩后的数据baos存放到ByteArrayInputStream中
			// Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//
			// 把ByteArrayInputStream数据生成图片
			return baos.toByteArray();
		}
		return null;
	}
}
